package org.jfonia.connect5.basics;

/**
 * @author wijnand.schepens@hogent.be
 */
public class MutableValueNodeDecorator<T> implements MutableValueNode<T>
{
	protected ValueNode<T> node;

	public MutableValueNodeDecorator(ValueNode<T> node)
	{
		this.node = node;
	}

	public void setValue(T value)
	{
		// do nothing
	}

	public void setValue(T value, Observer source)
	{
		// do nothing
	}

	public T getValue()
	{
		return node.getValue();
	}

	public void addObserver(Observer o)
	{
		node.addObserver(o);
	}

	public void removeObserver(Observer o)
	{
		node.removeObserver(o);
	}

	public boolean containsObserver(Observer o)
	{
		return node.containsObserver(o);
	}

	public void notifyObservers()
	{
		node.notifyObservers();
	}

	public void notifyObserversExcept(Observer source)
	{
		node.notifyObserversExcept(source);
	}
}
